package com.travel.modules.asset.entity;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.travel.commons.validator.groups.AddGroup;
import com.travel.commons.validator.groups.UpdateGroup;
import lombok.Data;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;

/**
 * @TableName route
 */
@Data
@TableName("route")
public class Route implements Serializable {
    /**
     * id
     */
    @TableId
    private Integer id;

    /**
     * 商品号
     */
    @NotBlank(message = "id不能为空", groups = {AddGroup.class, UpdateGroup.class})
    private String goodsId;

    /**
     * 商家id
     */
    private Integer userId;

    /**
     * 状态，0-未审核，1-审核通过，2-已撤销
     */
    @NotNull(message = "状态不能为空", groups = {AddGroup.class, UpdateGroup.class})
    private Integer status;

    /**
     * 商品名
     */
    @NotBlank(message = "名称不能为空", groups = {AddGroup.class, UpdateGroup.class})
    private String name;

    /**
     * 折扣
     */
    private String sale;

    /**
     * 出发地
     */
    @NotBlank(message = "出发地不能为空", groups = {AddGroup.class, UpdateGroup.class})
    private String startAddr;

    /**
     * 目的地
     */
    @NotBlank(message = "目的地不能为空", groups = {AddGroup.class, UpdateGroup.class})
    private String endAddr;

    /**
     * 成人价
     */
    @NotNull(message = "成人价不能为空", groups = {AddGroup.class, UpdateGroup.class})
    private BigDecimal adPrice;

    /**
     * 儿童价
     */
    @NotNull(message = "儿童价不能为空", groups = {AddGroup.class, UpdateGroup.class})
    private BigDecimal chPrice;

    /**
     * 路线
     */
    private String route;

    /**
     * 图片url
     */
    private String pic;

    /**
     * 类型，1-跟团、2-私团、3-自助、4-半自助
     */
    private Integer type;

    /**
     * 持续几天
     */
    private Integer days;

    /**
     * 热度
     */
    private Integer hot;

    /**
     * 好评数
     */
    private Integer reputation;

    /**
     * 创建时间
     */
    private Date createTime;

    /**
     * 过期时间
     */
    private Date expireTime;

    /**
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database table goods
     */
    private static final long serialVersionUID = 1L;
}